#!/bin/bash
 a="\e[1;32m+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~+\e[0m"
 b="\e[1;32m+--------------------------------------------------------------------------------+\e[0m"
#c
#d
#e
function menu {
clear
tput cup 0 0; echo -e "$a"
tput cup 1 0
 for (( c=0; c<=36; c++ ))
  do
   echo -e "\e[1;32m|                                                                                |\e[0m"
  done
#
tput cup  1  1;echo -e "\e[1;36m VT100 Widget Resources \e[0m\e[36m Ресурсы виджетов VT100\e[0m                           - G -"
tput cup  2  0;echo -e "$b"
tput cup  3  1;echo -e "\e[33m [1]\e[0m следует ли печатать графические атрибуты вместе с текстом \e[32m printAttributes\e[0m"
tput cup  4  1;echo -e "\e[33m [2]\e[0m xterm печатает содержимое экрана непосредственно в файл\e[32m printFileImmediate\e[0m"
tput cup  5  1;echo -e "\e[33m [3]\e[0m приказать записать содержимое экрана в файл             \e[32m printFileOnXError\e[0m"
tput cup  6  1;echo -e "\e[33m [4]\e[0m xterm печатает содержимое экрана непосредственно в файл\e[32m printModeImmediate\e[0m"
tput cup  7  1;echo -e "\e[33m [5]\e[0m Xterm реализует функцию printFileOnXError               \e[32m printModeOnXError\e[0m"
tput cup  8  1;echo -e "\e[33m [6]\e[0m Укажите диапазон текста                                \e[32m printOptsImmediate\e[0m"
tput cup  9  1;echo -e "\e[33m [7]\e[0m Укажите диапазон текста, который печатается в файл      \e[32m printOptsOnXError\e[0m"
tput cup 10  1;echo -e "\e[33m [8]\e[0m xterm закроет принтер (конвейер)                         \e[32m printerAutoClose\e[0m"
tput cup 11  1;echo -e "\e[33m [9]\e[0m Указывает команду оболочки, для которой xterm              \e[32m printerCommand\e[0m"
tput cup 12  1;echo -e "\e[33m [a]\e[0m Указывает режим управления принтером                   \e[32m printerControlMode\e[0m"
tput cup 13  1;echo -e "\e[33m [b]\e[0m будет ли функция печати страницы печатать всю страницу      \e[32m printerExtent\e[0m"
tput cup 14  1;echo -e "\e[33m [c]\e[0m Управляет отправкой формы на принтер в конце функции      \e[32m printerFormFeed\e[0m"
tput cup 15  1;echo -e "\e[33m [d]\e[0m Управляет отправкой новой строки на принтер                \e[32m printerNewLine\e[0m"
tput cup 16  1;echo -e "\e[33m [e]\e[0m выделяет ли xterm отдельные регистры цвета          \e[32m privateColorRegisters\e[0m"
tput cup 17  1;echo -e "\e[33m [f]\e[0m Управляет перекрашиванием курсора                               \e[32m quietGrab\e[0m"
tput cup 18  1;echo -e "\e[33m [g]\e[0m этот ресурс сообщает xterm, какой шрифт использовать     \e[32m regisDefaultFont\e[0m"
tput cup 19  1;echo -e "\e[33m [h]\e[0m размер по умолчанию (в пикселях) для этой графики         \e[32m regisScreenSize\e[0m"
tput cup 20  1;echo -e "\e[33m [i]\e[0m это определяет, используется ли ресурс faceName                \e[32m renderFont\e[0m"
tput cup 21  1;echo -e "\e[33m [j]\e[0m отключить подсказки оконному менеджеру                      \e[32m resizeByPixel\e[0m"
tput cup 22  1;echo -e "\e[33m [k]\e[0m когда размер окна увеличивается или уменьшается             \e[32m resizeGravity\e[0m"
tput cup 23  1;echo -e "\e[33m [l]\e[0m Сообщает xterm, сколько раз повторять попытку            \e[32m retryInputMethod\e[0m"
tput cup 24  1;echo -e "\e[33m [m]\e[0m Определяет, должно ли имитироваться обратное видео           \e[32m reverseVideo\e[0m"
tput cup 25  1;echo -e "\e[33m [n]\e[0m Указывает, должен ли быть включен обратный перенос            \e[32m reverseWrap\e[0m"
tput cup 26  1;echo -e "\e[33m [o]\e[0m Указывает, должна ли полоса прокрутки отображаться справа  \e[33m rightScrollBar\e[0m"
tput cup 27  1;echo -e "\e[33m [p]\e[0m Определяет количество строк, за пределами верхней части экрана  \e[33m saveLines\e[0m"
tput cup 28  1;echo -e "\e[33m [q]\e[0m Указывает, должна ли отображаться полоса прокрутки              \e[33m scrollBar\e[0m"
tput cup 29  1;echo -e "\e[33m [r]\e[0m Определяет ширину границы полосы прокрутки                \e[32m scrollBarBorder\e[0m"
tput cup 30  1;echo -e "\e[33m [s]\e[0m нажатие клавиши автоматически перемещать полосу прокрутки       \e[32m scrollKey\e[0m"
tput cup 31  1;echo -e "\e[33m [t]\e[0m Указывает количество строк, которые действия прокрутки        \e[32m scrollLines\e[0m"
tput cup 32  1;echo -e "\e[33m [u]\e[0m вывод автоматически вызывать перемещение полосы           \e[32m scrollTtyOutput\e[0m"
tput cup 33  0;echo -e "$b"
#
tput cup 35  0;echo -e "$b"
tput cup 36  1;echo -e "\e[33m [v]\e[0m Далее                                                                \e[32m Next\e[0m"
tput cup 37  1;echo -e "\e[33m [0]\e[0m Выход                                                                \e[32m Exit\e[0m"
tput cup 38  0;echo -e "$a"
#
tput cup 34  1;echo -e "\e[33m [ ]\e[0m Ожидание ввода команды: "
tput cup 34 30;read -n 1 option
#
}
#menu software
while [ $? -ne 1 ]
do
menu
case $option in
0)
clear
exit 0
;;
1)load;clear;echo -e "
\e[32m printAttributes\e[0m (class PrintAttributes)
 Указывает, следует ли печатать графические атрибуты вместе с текстом.
 Настоящий терминал DEC VTxxx будет печатать подчеркивание, выделяя коды,
 но ваш принтер может их не обрабатывать.
 • «0» отключает атрибуты.
 • «1» печатает обычный набор атрибутов (жирный, подчеркнутый, инверсный
   и мерцающий) как управляющие последовательности в стиле VT100.
 • «2» также печатает цветовые атрибуты ANSI.
 The default is “1”.
";;
2)load;clear;echo -e "
\e[32m printFileImmediate\e[0m (class PrintFileImmediate)
 Когда вызывается действие немедленной печати, xterm печатает содержимое экрана
 непосредственно в файл. Установите для этого ресурса префикс имени файла
 (отметка времени будет добавлена к фактическому имени).
 По умолчанию используется пустая строка, т. е. «», однако, когда вызывается
 действие немедленной печати, если строка пуста, используется «XTerm».
";;
3)load;clear;echo -e "
 printFileOnXError\e[0m (class PrintFileOnXError)
 Если xterm завершается с ошибкой X, например, ваше соединение разрывается при
 сбое сервера, ему можно приказать записать содержимое экрана в файл.
 Чтобы включить эту функцию, установите для этого ресурса префикс имени файла
 (отметка времени будет добавлена к фактическому имени).
 По умолчанию используется пустая строка, т. е. «», которая отключает эту функцию.
 Однако при вызове действия печати при ошибке, если строка пуста, используется
 «XTermError».
 Обрабатываются следующие коды ошибок: ERROR_XERROR, ERROR_XIOERROR и ERROR_ICEERROR.
";;
4)load;clear;echo -e "
\e[32m printModeImmediate\e[0m (class PrintModeImmediate)
 Когда вызывается действие немедленной печати, xterm печатает содержимое экрана
 непосредственно в файл. Вы можете использовать ресурс printModeImmediate,
 чтобы указать ему использовать escape-последовательности для восстановления
 атрибутов и цветов видео. Здесь используются те же значения,
 что и в ресурсе printAttributes. По умолчанию «0».
";;
5)load;clear;echo -e "
\e[32m printModeOnXError\e[0m (class PrintModeOnXError)
 Xterm реализует функцию printFileOnXError с использованием функции принтера,
 хотя вывод записывается непосредственно в файл. Вы можете использовать ресурс
 printModeOnXError, чтобы указать ему использовать escape-последовательности для
 восстановления атрибутов и цветов видео. Здесь используются те же значения,
 что и в ресурсе printAttributes. По умолчанию «0».
";;
6)load;clear;echo -e "
\e[32m printOptsImmediate\e[0m (class PrintOptsImmediate)
 Укажите диапазон текста,
 который печатается в файл при вызове действия немедленной печати.
 • Если ноль (0), то выбирается текущий (видимый экран) плюс сохраненные строки,
   за исключением случаев, когда используется альтернативный экран.
   В этом случае выбирается только альтернативный экран.
 • Если ненулевое значение, биты этого значения ресурса
   (проверяются в порядке убывания) выбирают диапазон:
   8 выбирает сохраненные линии.
   4 выбирает альтернативный экран.
   2 выбирает обычный экран.
   1 выбирает текущий экран, который может быть обычным или альтернативным экраном.
 Значение по умолчанию — «9», которое выбирает текущий видимый экран плюс
 сохраненные строки, без особого случая для чередующегося экрана.
";;
7)load;clear;echo -e "
\e[32m printOptsOnXError\e[0m (class PrintOptsOnXError)
 Укажите диапазон текста, который печатается в файл при вызове действия печати
 при ошибке. Значение ресурса интерпретируется так же, как и в printOptsImmediate.
 The default is “9”, который выбирает текущий видимый экран плюс сохраненные строки,
 без особого случая для альтернативного экрана.
";;
8)load;clear;echo -e "
\e[32m printerAutoClose\e[0m (class PrinterAutoClose)
 Если установлено значение «true», xterm закроет принтер (конвейер), когда
 приложение отключит принтер с помощью команды Media Copy.The default is “false”.
";;
9)load;clear;echo -e "
\e[32m printerCommand\e[0m (class PrinterCommand)
 Указывает команду оболочки, для которой xterm откроет канал при запуске первой
 команды MC (копирование носителя). По умолчанию это пустая строка, т. е. «».
 Если значение ресурса указано в виде пустой строки, принтер отключен.
";;
a)load;clear;echo -e "
\e[32m printerControlMode\e[0m (class PrinterControlMode)
 Указывает режим управления принтером. «1» выбирает режим автопечати, который
 заставляет xterm печатать строку с экрана, когда
 • вы перемещаете курсор за пределы этой строки с помощью символа перевода строки,
 перевода страницы или вертикальной табуляции, или
 • происходит автоперенос.
 Режим автопечати переопределяется режимом контроллера принтера («2»),
 в результате чего весь вывод направляется на принтер. The default is “0”.
";;
b)load;clear;echo -e "
\e[32m printerExtent\e[0m (class PrinterExtent)
 Определяет, будет ли функция печати страницы печатать всю страницу (true)
 или только ее часть в пределах прокручиваемых полей (false).
 The default is “false”.
";;
c)load;clear;echo -e "
\e[32m printerFormFeed\e[0m (class PrinterFormFeed)
 Управляет отправкой формы на принтер в конце функции печати страницы.
 The default is “false”.
";;
d)load;clear;echo -e "
\e[32m printerNewLine\e[0m (class PrinterNewLine)
 Управляет отправкой новой строки на принтер в конце функции печати страницы.
 The default is “true”.
";;
e)load;clear;echo -e "
\e[32m privateColorRegisters\e[0m (class PrivateColorRegisters)
 Если xterm сконфигурирован для поддержки графики ReGIS или SIXEL, этот параметр
 определяет, выделяет ли xterm отдельные регистры цвета для каждой управляющей
 строки устройства sixel, например, для DECGCI.
 Если это не так, цветовые регистры выделяются только один раз, при перезагрузке
 терминала, и изменение цвета в любой графике влияет на всю графику.
 The default is “true”.
";;
f)load;clear;echo -e "
\e[32m quietGrab\e[0m (class QuietGrab)
 Управляет перекрашиванием курсора при получении типов событий NotifyGrab
 и NotifyUngrab во время изменения фокуса.The default is “false”.
";;
g)load;clear;echo -e "
\e[32m regisDefaultFont\e[0m (class RegisDefaultFont)
 Если xterm настроен на поддержку графики ReGIS, этот ресурс сообщает xterm,
 какой шрифт использовать, если в данных ReGIS он не указан.
 Значение по умолчанию не указано; xterm принимает спецификацию шрифта TrueType,
 как в ресурсе faceName.
 Если значение не указано, xterm рисует растровое изображение, указывающее
 на отсутствующий символ.
";;
h)load;clear;echo -e "
 regisScreenSize\e[0m (class RegisScreenSize)
 Если xterm настроен на поддержку графики ReGIS, этот ресурс сообщает xterm размер
 по умолчанию (в пикселях) для этой графики, который также устанавливает
 координатное пространство по умолчанию на 
 [0,0] (upper-left) and [width,height] (lower-right)
 Приложение, использующее ReGIS, может использовать параметр «A» команды «S» для
 настройки координатного пространства или изменения адресуемой части экрана.
 Xterm принимает специальное значение ресурса «auto», которое указывает xterm
 использовать ресурсы decGraphicsID и decTerminalID для установки размера по
 умолчанию на основе ограничений аппаратного терминала.
 Эти ограничения такие же, как и для ресурса maxGraphicSize. The default is “auto”
";;
i)load;clear;echo -e "
\e[32m renderFont\e[0m (class RenderFont) Если xterm собран
 с библиотекой Xft, это определяет, используется ли ресурс faceName.
 По умолчанию стоит «по умолчанию». Значения ресурсов представляют собой строки,
 оцениваемые как логические значения после запуска.
\e[32m false\e[0m отключите эту функцию и используйте обычный (растровый) шрифт.

\e[32m true\e[0m запуск с использованием шрифта TrueType,
 указанного параметрами ресурса faceName и faceSize.
 Если для faceName нет значения,
 отключите эту функцию и используйте обычный (растровый) шрифт.
 После запуска вы по-прежнему можете переключаться на растровый шрифт
 или с него, используя пункт меню «Шрифты TrueType».

\e[32m default\e[0m Включите пункт меню «Шрифты TrueType»,
 чтобы во время выполнения можно было переключаться на шрифты TrueType и обратно.
 Исходный используемый шрифт зависит от того, установлен ли ресурс faceName:
 • Если ресурс faceName не установлен, начните с использования обычного
 (растрового) шрифта. Xterm имеет отдельное скомпилированное значение
 для faceName для этого особого случая. Обычно это «моно».
 • Если установлен ресурс faceName, начните с использования шрифта TrueType,
 а не растрового шрифта.
\e[32m defaultOff\e[0m Включите пункт меню «Шрифты TrueType»,
 чтобы разрешить переключение во время выполнения на шрифты TrueType и обратно,
 но разрешите изначально не выбирать его, если ресурс faceName не был указан.
";;
j)load;clear;echo -e "
\e[32m resizeByPixel\e[0m (class ResizeByPixel)
 Установите это значение «true», чтобы отключить подсказки оконному менеджеру,
 запрашивающие изменение размера по символам, а не по пикселям.
 Большинство оконных менеджеров обеспечивают визуальную обратную связь,
 показывающую размер окна при изменении его размера, используя эти подсказки.
 Когда вы максимизируете xterm, он отключает эти подсказки, чтобы позволить
 оконному менеджеру лучше использовать дробные строки или столбцы.
 Установка этого ресурса постоянно отключает подсказки.
 The default is “false”.
";;
k)load;clear;echo -e "
\e[32m resizeGravity\e[0m (class ResizeGravity)
 Влияет на поведение, когда размер окна увеличивается или уменьшается.
 NorthWest указывает, что верхняя строка текста на экране остается фиксированной.
 Если окно укоротить, строки будут опускаться снизу; если окно сделать выше,
 пустые строки добавляются внизу. Это совместимо с поведением в X11R4.
 SouthWest (по умолчанию) указывает, что нижняя строка текста на экране остается
 фиксированной. Если окно сделать выше, дополнительные сохраненные строки будут
 прокручиваться вниз на экран; если окно сделать короче, строки будут
 прокручиваться за пределы верхней части экрана,
 а верхние сохраненные строки будут удалены.
";;
l)load;clear;echo -e "
\e[32m retryInputMethod\e[0m (class RetryInputMethod) Сообщает xterm, сколько раз повторять попытку,
 если сервер метода ввода не отвечает. Это другая проблема, чем неподдерживаемый
 тип предварительного редактирования и т. д. Вы можете столкнуться с повторными
 попытками, если в вашей конфигурации X (и ее библиотеках) отсутствуют части.
 Установка этого ресурса в ноль «0» отменит повторную попытку.
";;
m)load;clear;echo -e "
\e[32m reverseVideo\e[0m (class ReverseVideo)
 Определяет, должно ли имитироваться обратное видео. The default is “false”.
 Есть несколько аспектов реверсирования видео в xterm:
 • Параметр командной строки -rv указывает X-библиотекам поменять местами цвета
 переднего плана и фона. Параметры командной строки Xterm задают значения ресурсов.
 В частности, X Toolkit устанавливает ресурс reverseVideo при использовании -rv.
 • Если пользователь также использовал параметры командной строки -fg или -bg
 для установки цветов переднего плана и фона, xterm не видит эти параметры напрямую.
 Вместо этого он проверяет значения ресурсов, чтобы восстановить параметры командной
 строки и определить, какой из цветов является предполагаемым пользователем передним
 планом и т. д. Их фактические значения не имеют отношения к функции обратного видео;
 некоторые пользователи предпочитают значения по умолчанию X
 (черный текст на белом фоне), другие предпочитают белый текст на черном фоне.
 • После запуска пользователь может переключить пункт меню «Включить обратное видео».
 Это заменяет текущие цвета переднего плана и фона виджета VT100 и перекрашивает экран.
 Из-за иерархии ресурсов X ресурс reverseVideo применяется не только к виджету VT100.

 Программы, работающие в xterm, также могут использовать управляющие
 последовательности для включения обратного видеорежима VT100.
 Они не зависят от ресурса reverseVideo и пункта меню. Xterm меняет текущие
 цвета переднего плана и фона при рисовании текста,
 на который влияют эти управляющие последовательности.

 Другие управляющие последовательности могут изменять используемые цвета
 переднего плана и фона:
 • Программы также могут использовать последовательности управления цветом ANSI
 для установки основного и фонового цветов.
 • Расширения элементов управления цветом ANSI (например, 16, 88 или 256 цветов)
 обрабатываются аналогично элементам управления ANSI.
 • Используя другие управляющие последовательности (функция «динамические цвета»),
 программа может изменять цвета переднего плана и фона.
";;
n)load;clear;echo -e "
\e[32m reverseWrap\e[0m (class ReverseWrap)
 Указывает, должен ли быть включен обратный перенос.
 Это соответствует приватному режиму xterm 45.The default is “false”.
";;
o)load;clear;echo -e "
 (class RightScrollBar)
 Указывает, должна ли полоса прокрутки отображаться справа, а не слева.
 The default is “false”.
\e[32m xterm*rightScrollBar:true\e[0m
";;
p)load;clear;echo -e "
 (class SaveLines)
 Определяет количество строк, сохраняемых за пределами верхней части экрана,
 когда включена полоса прокрутки. The default is “1024”.
\e[32m xterm*saveLines:3000\e[0m
";;
q)load;clear;echo -e "
\e[32m scrollBar\e[0m (class ScrollBar)
 Указывает, должна ли отображаться полоса прокрутки. The default is “false”.
\e[32m xterm*scrollBar:true\e[0m
";;
r)load;clear;echo -e "
\e[32m scrollBarBorder\e[0m (class ScrollBarBorder)
 Определяет ширину границы полосы прокрутки.
 Обратите внимание, что это нарисовано так, чтобы перекрывать границу окна xterm.
 Изменение границы полосы прокрутки влияет только на линию между виджетом VT100
 и полосой прокрутки. Значение по умолчанию — 1.
";;
s)load;clear;echo -e "
\e[32m scrollKey\e[0m (class ScrollCond)
 Указывает, должно ли нажатие клавиши автоматически перемещать полосу прокрутки
 в нижнюю часть области прокрутки. Это соответствует приватному режиму xterm 1011.
 The default is “false”.
";;
t)load;clear;echo -e "
\e[32m scrollLines\e[0m (class ScrollLines)
 Указывает количество строк, которые действия прокрутки назад и прокрутки вперед
 должны использовать по умолчанию. The default value is 1.
";;
u)load;clear;echo -e "
\e[32m scrollTtyOutput\e[0m (class ScrollCond)
 Указывает, должен ли вывод на терминал автоматически вызывать перемещение полосы
 прокрутки в нижнюю часть области прокрутки. The default is “true”.
";;
v)load;clear;./nXtermResourcesVT100WidgetH.sh;;
*)
clear
echo -e "\e[33m Неверный ввод данных, пожалуйста повторите ввод \e[0m";;
esac
echo -en "\e[33m Пожалуйста нажмите любую клавишу для продолжения \e[0m"
read -n 1 line
done
clear
